package net.vmiranda.jeds.core.tareas;

import net.vmiranda.jeds.core.proyectos.Proyecto;
import net.vmiranda.jeds.utils.busqueda.BusquedaModulo;
import net.vmiranda.jeds.utils.busqueda.CampoBusqueda;
import net.vmiranda.jeds.utils.busqueda.CampoConstructor;
import net.vmiranda.jeds.utils.busqueda.ClaseBusqueda;
import net.vmiranda.jeds.utils.busqueda.Constructor;
import net.vmiranda.jeds.utils.busqueda.Join;

/**
 * Tiene todas las propiedades 
 * @author victor
*/

@ClaseBusqueda(
		claseResultado=ResultadoConsultaTarea.class,
		claseOrigen=Tarea.class,
		aliasOrigen="t",
		joins={
			@Join(
					campoOrigen="id.idProyecto",
					campoDestino="idProyecto",
					entidadDestino=Proyecto.class,
					aliasDestino="p"
			)
		}
)
@Constructor(
		campos={
				@CampoConstructor(alias="t",campo="id.idTarea"),
				@CampoConstructor(alias="t",campo="id.idProyecto"),
				@CampoConstructor(alias="t",campo="idUsuario"),
				@CampoConstructor(alias="t",campo="idUsuarioAlta"),
				@CampoConstructor(alias="t",campo="nombreTarea"),
				@CampoConstructor(alias="p",campo="nombreProyecto"),
				@CampoConstructor(alias="t",campo="horasPlanificadas"),
				@CampoConstructor(alias="t",campo="horasUtilizadas"),
				@CampoConstructor(alias="t",campo="prioridad"),
				@CampoConstructor(alias="t",campo="fechaAlta"),
				@CampoConstructor(alias="t",campo="fechaModificacion")
				
		}
)
public class BusquedaTarea extends BusquedaModulo{
	
	@CampoBusqueda(alias="t",campo="nombreTarea")
	private String nombreTarea;

	@CampoBusqueda(alias="t",campo="descripcionTarea")
	private String descripcionTarea;
	
	@CampoBusqueda(alias="t",campo="id.idProyecto")
	private Integer idProyecto;
	
	@CampoBusqueda(alias="t",campo="idUsuario")
	private String idUsuario;
	
	@CampoBusqueda(alias="t",campo="idUsuarioAlta")
	private String idUsuarioAlta;

	@CampoBusqueda(alias="t",campo="horasPlanificadas")
	private String horasPlanificadas;
	
	@CampoBusqueda(alias="t",campo="horasUtilizadas")
	private String horasUtilizadas;
	
	@CampoBusqueda(alias="t",campo="progreso")
	private Integer progreso = null;
	
	@CampoBusqueda(alias="t",campo="idCategoria")
	private String idCategoria;
	
	@CampoBusqueda(alias="t",campo="prioridad")
	private String prioridad;
	
	public String getNombreTarea() {
		return nombreTarea;
	}

	public void setNombreTarea(String nombreTarea) {
		this.nombreTarea = nombreTarea;
	}

	public String getDescripcionTarea() {
		return descripcionTarea;
	}

	public void setDescripcionTarea(String descripcionTarea) {
		this.descripcionTarea = descripcionTarea;
	}

	public Integer getIdProyecto() {
		return idProyecto;
	}

	public void setIdProyecto(Integer idProyecto) {
		this.idProyecto = idProyecto;
	}

	public String getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(String idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getIdUsuarioAlta() {
		return idUsuarioAlta;
	}

	public void setIdUsuarioAlta(String idUsuarioAlta) {
		this.idUsuarioAlta = idUsuarioAlta;
	}

	public String getHorasPlanificadas() {
		return horasPlanificadas;
	}

	public void setHorasPlanificadas(String horasPlanificadas) {
		this.horasPlanificadas = horasPlanificadas;
	}

	public String getHorasUtilizadas() {
		return horasUtilizadas;
	}

	public void setHorasUtilizadas(String horasUtilizadas) {
		this.horasUtilizadas = horasUtilizadas;
	}

	public Integer getProgreso() {
		System.out.println(" imptimirnfo progreso "+progreso);
		return progreso;
	}

	public void setProgreso(Integer progreso) {
		this.progreso = progreso;
	}

	public String getIdCategoria() {
		return idCategoria;
	}

	public void setIdCategoria(String idCategoria) {
		this.idCategoria = idCategoria;
	}
	
	public String getPrioridad() {
		return prioridad;
	}

	public void setPrioridad(String prioridad) {
		this.prioridad = prioridad;
	}
}
